home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr35 / validt10.zip / VALIDATE.DOC < prev    next >
Text File  |  1995-03-01  |  20KB  |  473 lines

  1.  
  2.  
  3.     ===========================================================================
  4.     ===========================================================================
  5.     ============================                  =============================
  6.     ============================                  =============================
  7.     ============================     VALIDATE     =============================
  8.     ============================                  =============================
  9.     ============================                  =============================
  10.     ===========================================================================
  11.     ===========================================================================
  12.  
  13.  
  14.  
  15.  
  16.                                                   
  17.      VALIDATE - An integrity checker and virus detector for programs and files
  18.  
  19.  
  20.  
  21.                            VALIDATE is Copyright (C) 1995
  22.  
  23.  
  24.                                          by
  25.  
  26.  
  27.            Pinnacle Software, CP 386 Mount Royal, Quebec, Canada H3P 3C6
  28.            U.S. Office: Box 714 Airport Road, Swanton, Vermont 05488 USA
  29.  
  30.            Support Line (514) 345-9578 --- Free Files BBS (514) 345-8654
  31.            Internet: pinnacl@cam.org -- WWW: http://www.cam.org/~pinnacl
  32.  
  33.  
  34.  
  35.  
  36.     ---------------------------------------------------------------------------
  37.     |                                                                         |
  38.     |                                                                         |
  39.     |      This is a SHAREWARE product.  That means we would like you to      |
  40.     |      pass around unregistered copies to other people.  If you have      |
  41.     |      a modem, you can upload a copy to a local BBS, or give a copy      |
  42.     |      to a friend or associate.                                          |
  43.     |                                                                         |
  44.     |                                                                         |
  45.     ---------------------------------------------------------------------------
  46.  
  47.  
  48.  
  49.     ===========================================================================
  50.                                 USER MANUAL OVERVIEW
  51.     ===========================================================================
  52.  
  53.  
  54.     This user manual contains the following sections...
  55.     
  56.  
  57.     What is VALIDATE?
  58.  
  59.     Sample Applications
  60.       The Program Package
  61.       Simple Virus Tester
  62.  
  63.     Installation
  64.  
  65.     Licensing
  66.  
  67.     Using VMAKE
  68.       The LST File
  69.       Creating the LST File
  70.       Running VMAKE
  71.  
  72.     Using VALIDATE
  73.       Runnning VALIDATE
  74.       Command-line Parameters
  75.       Using VALIDATE in a Batch File
  76.       Renaming VALIDATE
  77.       Custom Encryption Parameters
  78.  
  79.     Error codes
  80.  
  81.     How Reliable is VALIDATE?
  82.  
  83.     Suggestions for Using VALIDATE
  84.  
  85.     Watch VALIDATE in Action
  86.  
  87.  
  88.     ===========================================================================
  89.                                  WHAT IS VALIDATE?
  90.     ===========================================================================
  91.  
  92.  
  93.     VALIDATE is a software package that lets you test files to see if they have
  94.     been altered in any way, or if files are missing from a program package.
  95.  
  96.     The VALIDATE package comprises two main programs:
  97.  
  98.     VMAKE:     Reads a list of file names from a text file (which is usually
  99.                named VALIDATE.LST), then compiles and encrypts a validation
  100.                file, usually named VALIDATE.VIF.  (VIF stands for Validation
  101.                Information File).
  102.  
  103.     VALIDATE:  Reads the VIF file and checks to ensure that each file is the
  104.                same length and contains the same information, as determined
  105.                when VMAKE was run.
  106.  
  107.  
  108.     ===========================================================================
  109.                                 SAMPLE APPLICATIONS
  110.     ===========================================================================
  111.  
  112.  
  113.                                 -------------------
  114.                                 The Program Package
  115.                                 -------------------
  116.  
  117.     Here is a typical scenario for using the VALIDATE package:
  118.  
  119.     1)  You create a program package, consisting of many files (programs, data,
  120.         documentation etc.)
  121.  
  122.     2)  You modify the main program (or main batch file) to call up the program
  123.         VALIDATE.EXE when it starts up.
  124.  
  125.     3)  Using VMAKE, you create a list of the files you want to check.  This
  126.         creates a VIF file (usually named VALIDATE.VIF).
  127.  
  128.     4)  You add the files VALIDATE.EXE and VALIDATE.VIF to your package.  The
  129.         file VMAKE.EXE should NEVER be added to the package.
  130.  
  131.     5)  You ship the package!
  132.  
  133.     When the user runs the main program, VALIDATE will check the files. If any
  134.     files are missing, or have been altered, VALIDATE will display a message
  135.     telling the user to contact you.  It will then set a return code (which the
  136.     calling program can test) to indicate success or failure.  If VALIDATE
  137.     reports a failure, your program can give additional instructions on how to
  138.     reach you.
  139.  
  140.  
  141.                                 -------------------
  142.                                 Simple Virus Tester
  143.                                 -------------------
  144.  
  145.     The VALIDATE package can also be used as a simple virus detector.  For
  146.     example, you could call it up in your AUTOEXEC.BAT file to check that your
  147.     COMMAND.COM file has not been altered.
  148.  
  149.  
  150.     ===========================================================================
  151.                                     INSTALLATION
  152.     ===========================================================================
  153.  
  154.  
  155.     All of the files in the VALIDATE package should be placed in a separate
  156.     directory (named VALIDATE, for example).  This directory should be made
  157.     available via the DOS PATH command.  (For details about the PATH command,
  158.     consult your DOS manual.)
  159.  
  160.     Unless otherwise instructed (via the /L and /V parameters) VALIDATE and
  161.     VMAKE always look for their files (e.g. VALIDATE.VIF and VALIDATE.LST) in
  162.     the current logged directory.  So if you are currently in the directory
  163.     C:\MYPROG and VMAKE is in C:\VALIDATE, VMAKE will look for its LST file
  164.     in the directory C:\MYPROG.
  165.  
  166.  
  167.     ===========================================================================
  168.                                      LICENSING
  169.     ===========================================================================
  170.  
  171.  
  172.     VALIDATE is available in three versions:
  173.  
  174.     SHAREWARE:  Shareware means that you are entitled to evaluate the program
  175.     at no cost for a reasonable period (about 45 days).  If you continue to use
  176.     it after that, you are required to purchase a registered copy ($17 for a
  177.     single-site license -- see the file ORDER.FRM for site licensing details.)
  178.     You may not include VALIDATE.EXE in a production program package unless you
  179.     have registered your copy of VALIDATE (see below).
  180.  
  181.     REGISTERED:  When you register a shareware copy, you will receive the
  182.     latest version, plus an unlocking code that will let you register any new
  183.     shareware versions that we release for a period of two years.  To check if
  184.     we have released a new version, you can check our free files BBS or our
  185.     World Wide Web site.
  186.  
  187.     Once you have registered your shareware version, you can include the
  188.     VALIDATE program in any of your products.  Any number of people can use
  189.     the registered VALIDATE package at a single site.  
  190.  
  191.     RETAIL LICENSE:  You can sell complete, registered copies, complete with
  192.     documentation, in return for royalties.  The terms depend on volume and
  193.     advance payments. The license is $100 plus the following royalty scale:
  194.  
  195.     Non-exclusive, no prepayment, no guarantees ------------------- $1.00/copy
  196.     Non-exclusive, no prepayment, guarantee of 10,000 copies ------ $0.50/copy
  197.     Non-exclusive, prepayment for 10,000 copies ------------------- $0.15/copy
  198.     Non-exclusive, prepayment for 25,000 copies ------------------- $0.10/copy
  199.     One-language exclusive for continent, 10,000 copy prepayment -- $0.30/copy
  200.     One-language exclusive for continent, 25,000 copy prepayment -- $0.20/copy
  201.  
  202.     If you would like to obtain a retail license, please contact us to request
  203.     the retail license contract appropriate to your requirements.
  204.  
  205.  
  206.     ===========================================================================
  207.                                     USING VMAKE
  208.     ===========================================================================
  209.  
  210.  
  211.     NOTE:  For a summary of VMAKE syntax, enter VMAKE /? at the DOS prompt.
  212.  
  213.  
  214.                                     ------------
  215.                                     The LST File
  216.                                     ------------
  217.  
  218.     VMAKE reads a text file (usually named VALIDATE.LST) to obtain the list of
  219.     files you want VALIDATE to check.  The format of the file is as follows:
  220.  
  221.     - Each file name must appear on a line by itself
  222.     - Null or blank lines are ignored
  223.     - Lines that start with a semi-colon are ignored
  224.     - Leading tabs and spaces are ignored
  225.  
  226.     You can add a comment after each file name, as long as it is separated from
  227.     the file name by at least one space or tab character.
  228.  
  229.     Here is a sample of a LST file:
  230.  
  231.     ; This is considered a comment line, since it starts with a semi-colon
  232.     MYPROG.DOC
  233.     MYPROG.DAT     This is a comment
  234.     MYPROG.EXE     This is another comment
  235.     MYPROG.XYZ
  236.  
  237.     You should never include files that will normally be modified by the user.
  238.     For example, if you have a database, which the user is supposed to update,
  239.     VALIDATE would report an error if it tested the database after it had been
  240.     altered.
  241.  
  242.  
  243.                                ---------------------
  244.                                Creating the LST File
  245.                                ---------------------
  246.  
  247.     The LST file is generally prepared using a text editor.  However, one quick
  248.     way to generate the file is to redirect the DOS DIR command. If you have a
  249.     recent version of DOS, try this command:
  250.  
  251.     DIR *.EXE /b >MYFILE.LST
  252.  
  253.     The /b switch means "bare listing", meaning that only the file names are
  254.     shown.  The  >MYFILE.LST  part of the command directs the output to the
  255.     file MYFILE.LST.  You can then use a text editor to remove any files that
  256.     are not necessary.
  257.  
  258.  
  259.                                    -------------
  260.                                    Running VMAKE
  261.                                    -------------
  262.  
  263.     The simplest way to run VMAKE is to type VMAKE at the DOS prompt.  This
  264.     will read the file VALIDATE.LST and create the file VALIDATE.VIF.
  265.  
  266.     You can specify alternative file names, using command-line parameters, as
  267.     follows:
  268.  
  269.     PARAMETER   MEANING               EXAMPLE
  270.     ---------   --------------------  ----------------------------------------
  271.        /L       Alternative LST file  VMAKE /Lmyfile.lst
  272.        /V       Alternative VIF file  VMAKE /Vmyfile.vif
  273.  
  274.     LST files do not have to have an extension of LST.  VIF files do not have
  275.     to have an extension of VIF.  However, if you omit the extension, these
  276.     are the extensions that are assumed.  Consider the following example.
  277.  
  278.     VMAKE /Lmyfile /Vmyfile
  279.  
  280.     In this case, VMAKE would assume you mean MYFILE.LST and MYFILE.VIF.
  281.  
  282.     To point to files in different directories, you must specify the entire
  283.     path, as in this example:
  284.  
  285.     VMAKE /Lc:\myprog\myfile.txt /Vd:\vifs\myprog
  286.  
  287.     This would look for the LST file (named MYFILE.TXT in this case) in the
  288.     directory C:\MYPROG.  The VIF file (named MYPROG.VIF, since no extension
  289.     was specified) would be placed in the directory D:\VIF.  If the directory
  290.     does not exist, an error will result.
  291.  
  292.     NOTE:  VMAKE will not allow you to test files that have zero length.
  293.  
  294.  
  295.     ===========================================================================
  296.                                    USING VALIDATE
  297.     ===========================================================================
  298.  
  299.  
  300.     NOTE: For a summary of VALIDATE syntax, type VALIDATE /? at the DOS prompt.
  301.  
  302.  
  303.                                   ----------------
  304.                                   Running VALIDATE
  305.                                   ----------------
  306.  
  307.     The simplest way to run VALIDATE is to type VALIDATE at the DOS prompt.
  308.     This will read the file VALIDATE.VIF and test every file in the list.
  309.     If the VIF file is missing, VALIDATE will fail (after displaying an error
  310.     message) and set an error level, which the calling program can check.
  311.  
  312.  
  313.                               -----------------------
  314.                               Command-Line Parameters
  315.                               -----------------------
  316.  
  317.     You can alter the behaviour of VALIDATE by using command line switches and
  318.     parameters, as follows:
  319.  
  320.     PARAMETER   MEANING               EXAMPLE
  321.     ---------   --------------------  ----------------------------------------
  322.        /V       Alternative VIF file  VALIDATE /Vmyfile.vif
  323.        /D       Diagnostic mode       VALIDATE /d
  324.  
  325.     The default extension for the VIF file is VIF (although you can use other
  326.     extensions, if you wish).  Consider this example:
  327.  
  328.     VALIDATE /vMYFILE
  329.  
  330.     This would test the files listed in MYFILE.VIF, since the VIF extension is
  331.     assumed if none is specified.
  332.  
  333.     Diagnostic mode shows VALIDATE's progress on a step-by-step basis.  It is
  334.     not really necessary to have a diagnostic mode, but it was added for people
  335.     who wish to see the program DOING something when they test it.
  336.  
  337.  
  338.                            ------------------------------
  339.                            Using VALIDATE in a Batch File
  340.                            ------------------------------
  341.  
  342.     When testing for a DOS ERRORLEVEL in a batch file, you must test the
  343.     highest value first, since the command IF ERRORLEVEL is considered "true"
  344.     if the ERRORLEVEL is the cited value or higher.  See your DOS manual for
  345.     details.
  346.  
  347.  
  348.                                  -----------------
  349.                                  Renaming VALIDATE
  350.                                  -----------------
  351.  
  352.     For added security, you can rename VALIDATE.EXE to something else. However,
  353.     a curious user can still find out what it is by using the /? parameter.
  354.     For example, if you rename VALIDATE.EXE to XYZ.EXE and the user enters the
  355.     command  XYZ.EXE /?  he will still see the usual information screen.
  356.  
  357.  
  358.                             ----------------------------
  359.                             Custom Encryption Parameters
  360.                             ----------------------------
  361.  
  362.     VALIDATE encrypts the VIF file to ensure that the user can not successfully
  363.     alter (or even understand) the VIF file.  However, since all standard
  364.     versions of the VALIDATE package use the same copy of VMAKE, it is possible
  365.     that a user could circumvent your security if (a) he knew what VALIDATE is
  366.     and (b) he had a copy of the VALIDATE package.
  367.  
  368.     If you think your program may be exposed to users who are both sophisti-
  369.     cated and devious, you can do one of the following:
  370.  
  371.     - Order the Turbo Pascal source code (to modify the encryption yourself)
  372.     - Order the custom encryption version of the VALIDATE package
  373.  
  374.     See the file ORDER.FRM for prices.
  375.     
  376.  
  377.     ===========================================================================
  378.                                     ERROR CODES
  379.     ===========================================================================
  380.  
  381.  
  382.     NOTE:  If there is a program problem with VMAKE or VALIDATE, the program
  383.     may terminate with a "Runtime Error".  These should not be confused with
  384.     the error codes that are set by the program when they function properly.
  385.     If a runtime error occurs, the program will display the message "Runtime
  386.     Error" and give the code.  This code should be reported to Pinnacle
  387.     Software for analysis.
  388.  
  389.  
  390.     The following error codes are returned by VMAKE:
  391.  
  392.  
  393.     ERRORCODE  REASON
  394.     ---------  ----------------------------------------------------------------
  395.          0     No problems
  396.        200     Could not open the LST file
  397.        201     The LST file was empty
  398.        251     Could not create the VIF file
  399.        254     Error while writing to the VIF file
  400.        255     Help screen was displayed (e.g. VMAKE /?)
  401.  
  402.  
  403.     The following error codes are returned by VALIDATE:
  404.  
  405.  
  406.     ERRORCODE  REASON
  407.     ---------  ----------------------------------------------------------------
  408.          0     No problems (program does not display anything on the screen)
  409.        200     Could not open the VIF file
  410.        201     The VIF file is empty
  411.        249     The test file (i.e. a file listed in the VIF file) is missing
  412.        250     The test file could not be opened (See Note)
  413.        251     The test file was empty
  414.        254     The test file has been altered
  415.        255     Help screen was displayed (e.g. VALIDATE /?)
  416.  
  417.  
  418.     An open error (error code 200) might occur if the computer does not have
  419.     enough file handles, or if there is a disk read error.  This is not
  420.     necessarily a sign of tampering.  The file handles issue is discussed in
  421.     your DOS manual; consult the discussion of FILES= in the section about the
  422.     CONFIG.SYS file.
  423.  
  424.     Most programming languages provide a means of testing the return code of
  425.     a program to which you have "shelled".  For example, in Turbo Pascal you
  426.     can check the low byte of the DOSEXITCODE variable after using the EXEC
  427.     procedure.
  428.  
  429.  
  430.     ===========================================================================
  431.                              HOW RELIABLE IS VALIDATE?
  432.     ===========================================================================
  433.  
  434.  
  435.     The information in the VIF file is encrypted, and some misdirection is
  436.     incorporated to foil attempts to crack the code.  The VMAKE and VALIDATE
  437.     programs themselves have been compressed, which makes them difficult to
  438.     reverse engineer.
  439.  
  440.     If you can successfully fool VALIDATE, and demonstrate the method to us, we
  441.     will give you a $45 credit towards registration of any of our other
  442.     products.  Also, when we correct the problem, we will give you a free
  443.     upgrade of the VALIDATE package.
  444.  
  445.  
  446.     ===========================================================================
  447.                            SUGGESTIONS FOR USING VALIDATE
  448.     ===========================================================================
  449.  
  450.  
  451.     If VALIDATE is testing many files (or several exceptionally large files),
  452.     you might consider checking the files only once per day, or once per week,
  453.     depending on the application.  (Of course, all of the files should be
  454.     checked during the installation process.)
  455.  
  456.     Another alternative is to maintain two VIF files:  one for a full check on
  457.     a weekly basis, and one which checks the most important files every time
  458.     the main program is run.
  459.  
  460.  
  461.     ===========================================================================
  462.                             WATCH VALIDATE IN ACTION
  463.     ===========================================================================
  464.           
  465.  
  466.     The VALIDATE package contains a batch file, named START.BAT, which provides you
  467.     a demonstration of the VALIDATE program.  To run the demo, enter START at
  468.     the DOS prompt.  The START demo also explains how you can purchase a fully
  469.     registered copy of the VALIDATE package.
  470.  
  471.  
  472.  
  473.